#pragma once
#include <map>
#include "InterfaceModRunCreate.h"

#include "..\..\Gof23\Gof_Singleton\Singleton11T.h"


class FactoryModRun : public Singleton11T<FactoryModRun>
{
public:
    FactoryModRun();
    ~FactoryModRun();

private:

    //禁用拷贝构造和赋值重载
    FactoryModRun(const FactoryModRun& hs) = delete;
    FactoryModRun& operator=(const FactoryModRun& hs) = delete;

public:

    //创建ModRun;
    InterFaceModRun* CreateModRun(EnumModRun emType);
public:

    //定义成数组，为调试方便;
    inline static ST_EMCREATE _createEntries[emModRunNone] = {};
};
